package pruebas;

import modelo.*;
import modelo.moviles.naves.Avioneta;
import modelo.moviles.naves.Nave;
import junit.framework.TestCase;

public class TestFlota extends TestCase{

	/* "Test de la clase Flota" */
	public void testFlota(){
		
		Flota flota = new Flota ();
		Nivel nivel = new Nivel(3,3);
		Nave nave1, nave2;
		
		

		/* "Agregamos una nave que no es guia a la flota." */
		nave1 = new Avioneta (nivel);

		/* "Esta primer nave por ahora puede disparar." */
		assertTrue("La nave no puede disparar estando cargada",nave1.puedeDisparar());	
			
		flota.agregarNave(nave1);

		/* "Agregamos una nave guia a la flota." */
		nave2 = new Avioneta (nivel);
		nave2.setGuia(true);

		flota.agregarNave(nave2);

		/* "Como tiene una nave guia la flota no debe huir" */
		assertFalse("La flota debe huir teniendo guia.",flota.debeHuir());

		/* "Mato al guia." */
		nave2.estallar();

		/* "Como no tiene una nave guia la flota debe huir" */
		assertTrue ("La flota no debe huir sin tener guia.",flota.debeHuir());

		flota.huir();

		/* "Luego de huir la nave que queda en la flota no debe disparar." */
		assertFalse("La nave puede disparar huyendo",nave1.debeDisparar());	

	}

}

